Simulink实时更改运行的模块参数

您所在的位置:网站首页 simulink 增益 Simulink实时更改运行的模块参数

Simulink实时更改运行的模块参数

#Simulink实时更改运行的模块参数| 来源: 网络整理| 查看: 265

Simulink更改运行参数

最近正在用Simulink仿真时遇到一个问题,就是要在模型运行时,需要在线修改模型中的模块的参数。用M函数总报错,尝试着用一下S函数试一试,居然可以。所以分享一下,希望对有相同问题的有帮助。

建立Simulink模型

打开Simulink,搭建一个简单的模型。我这里直接用Sin波形做实验。其他的基本一样。具体找模块的步骤我就省略了。在这里插入图片描述 Matlab有自带一个S函数的模板,在命令行输入edit sfuntmpl就会出现。将其保存到与建立的Simulink模型同一文件夹内,改个函数名即可。在Simulink中点击S函数。 在这里插入图片描述 我这里命名的S函数是testsf。剩下的就是改写S函数了,我也是刚学S函数,我把我学S函数的链接贴出来。 S函数 S函数指南 有这两个基本就可以用S函数了。 下面就是我对函数的改写代码。主要就是对输入输出个数的更改,其他的函数不需要更改保持默认就行。

function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 0; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; % at least one sample time is needed sys = simsizes(sizes); x0 = []; str = []; ts = [0 0]; simStateCompliance = 'UnknownSimState'; function sys=mdlOutputs(t,x,u) if u


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3